home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / comm / cnet / lands051c.lha / BLCEDIT < prev    next >
Text File  |  1994-02-16  |  9KB  |  198 lines

  1. /* BATTLE LANDS CHARACTER EDITOR */
  2. /* By Wayne Stewart */
  3.  
  4. options results
  5. signal on error
  6. signal on syntax
  7. p='###PANIC'
  8. path='pfiles:battlelands/users/stats/'
  9. lpath='pfiles:battlelands/users/'
  10. tt=transmit
  11. sfi=sendfile
  12. sx=sendstring
  13.  
  14. begin:
  15. tt 'f1n2ceHere is a list of the Battlers you may editn1'
  16. call open(1,lpath||'battlers','r')
  17.  do until eof(1)=1
  18.  battler=readln(1)
  19.  user=readln(1)
  20.  if battler~='' then do;tt 'caPLAYER:cb' left(user' ',20)'ccWARRIOR''S NAME:cf' left(battler' ',30);end
  21. end
  22. call close(1)
  23. query 'n1caSelect the cd^c9PLAYERcd^ caname you wish to editc9 [Return=Quit]n2cb>>> '
  24. ans=upper(result)
  25. if ans=p then exit
  26. if ans='Q' then exit
  27. if ans='' then exit
  28. if exists(path||ans)=1 then do;call open(1,path||ans);do i=1 to 110; stat.i=readln(1);end;call close(1);call view;end
  29. tt 'n1caYou must have mispelled that..w2'
  30. call begin
  31.  
  32. view:
  33. tt 'f1caThere are c9110ca character flags in c9Battle Landsca. Be careful which ones you'
  34. tt 'change and how you change them because some are clearly numbers and some '
  35. tt 'require Yes/No flags. Issuing a faulty change could have disasterous results'
  36. tt 'on the edited character...'
  37. tt 'n1cbFILE OF:cc' ans
  38. tt 'n1cb1.  caName      :cf' stat.1
  39. tt 'cb2.  caMoney     :cf' stat.2
  40. tt 'cb3.  caHealth    :cf' stat.3
  41. tt 'cb4.  caMax Health:cf' stat.4
  42. tt 'cb5.  caStrength  :cf' stat.5
  43. tt 'cb6.  caAgility   :cf' stat.6
  44. tt 'cb7.  caEndurance :cf' stat.7
  45. tt 'cb8.  caMental    :cf' stat.8
  46. tt 'cb9.  caExperience:cf' stat.9
  47. tt 'cb10. caLevel     :cf' stat.10
  48. tt 'cb11. caClass     :cf' stat.11
  49. tt 'cb12. caRace      :cf' stat.12
  50. query 'n1ceINPUT THE NUMBER YOU WISH TO CHANGE OR c9Nce FOR CBNEXT PAGEcd>>> '
  51. num=upper(result)
  52. if num=p then exit
  53. if num='N' then signal next1
  54. if num='Q' then exit
  55. if num<1 | num>12 then signal view
  56. query 'n1caWhat do you wish to changecf' stat.num'ca to?c9 '
  57. new=upper(result)
  58. if new=p then exit
  59. if new='' then signal view
  60. stat.num=new
  61. call view
  62.  
  63. next1:
  64. tt 'f1cbFILE OF:cc' ans
  65. tt 'n1cb13. caWeapon      :cf' stat.13
  66. tt 'cb14. caArmor       :cf' stat.14
  67. tt 'cb15. caMagic Rating:cf' stat.15
  68. tt 'cb16. caMax Magic R :cf' stat.16
  69. tt 'N1c9DOEScf' stat.1 'c9HAVE THE FOLLOWING SPELLS?'
  70. tt 'n1cb17. caElectrostorm:cf' left(stat.17' ',3) '          cb27. caLightning   :cf' left(stat.27' ',3)
  71. tt 'cb18. caMental Punch:cf' left(stat.18' ',3) '          cb28. caMissile     :cf' left(stat.28' ',3)
  72. tt 'cb19. caLow Heal    :cf' left(stat.19' ',3) '          cb29. caNuke        :cf' left(stat.29' ',3)
  73. tt 'cb20. caLow Blast   :cf' left(stat.20' ',3) '          cb30. caHigh Nuke   :cf' left(stat.30' ',3)
  74. tt 'cb21. caLow Shield  :cf' left(stat.21' ',3) '          cb31. caDevastate   :cf' left(stat.31' ',3)
  75. tt 'cb22. caMuscle Spell:cf' left(stat.22' ',3) '          cb32. caHeal All    :cf' left(stat.32' ',3)
  76. tt 'cb23. caHigh Heal   :cf' left(stat.23' ',3) '          cb34. caRage        :cf' left(stat.34' ',3)
  77. tt 'cb24. caHigh Blast  :cf' left(stat.24' ',3) '          cb35. caBecome Steel:cf' left(stat.35' ',3)
  78. tt 'cb25. caHigh Shield :cf' left(stat.25' ',3) '       c9NOTE: Flag cf33 c9is not a magic flag as'
  79. tt 'cb26. caMetal Storm :cf' left(stat.26' ',3) '    c9originally intended. It can be found later!!!'
  80. query 'n1ceINPUT THE NUMBER YOU WISH TO CHANGE OR c9Nce FOR CBNEXT PAGEcd>>> '
  81. num=upper(result)
  82. if num=p then exit
  83. if num='N' then signal next2
  84. if num='Q' then exit
  85. if num=33 then signal next1
  86. if num<13 | num>35 then signal next1
  87. query 'n1caWhat do you wish to changecf' stat.num'ca to?c9 '
  88. new=upper(result)
  89. if new=p then exit
  90. if new='' then signal next1
  91. stat.num=new
  92. call next1
  93.  
  94. next2:
  95. tt 'f1cbFILE OF:cc' ans
  96. tt 'n1c9NOTE: Altering the possession of chips will not alter any stats.'
  97. tt 'These stats are altered at the time the chips are purchased only!!!'
  98. tt 'n1cb36. caMuscle Chip  :cf' stat.36
  99. tt 'cb37. caPhysical Chip:cf' stat.37
  100. tt 'cb38. caLink Chip    :cf' stat.38
  101. tt 'cb39. caMental Chip  :cf' stat.39
  102. tt 'cb40. caKad Chip     :cf' stat.40
  103. tt 'cb41. caPirate Chip  :cf' stat.41
  104. tt 'cb42. caMedkit       :cf' stat.42
  105. tt 'cb43. caMedkit Uses  :cf' left(stat.43' ',3) ' cc(changing this will only effect the first medkit)'
  106. tt 'cb44. caInfo Goggles :cf' stat.44
  107. tt 'cb45. caClimb Boots  :cf' stat.45
  108. tt 'n1c9Combat skills for cf' ans
  109. tt 'n1cb46. caARMOR CLASS :cf' left(stat.46' ',4) ' cc(the higher this number the better)'
  110. tt 'cb47. caTo Hit AC 0 :cf' left(stat.47' ',4) ' cc(the lower this number the better)'
  111. query 'n1ceINPUT THE NUMBER YOU WISH TO CHANGE OR c9Nce FOR CBNEXT PAGEcd>>> '
  112. num=upper(result)
  113. if num=p then exit
  114. if num='N' then signal next3
  115. if num='Q' then exit
  116. if num<36 | num>47 then signal next2
  117. query 'n1caWhat do you wish to changecf' stat.num'ca to?c9 '
  118. new=upper(result)
  119. if new=p then exit
  120. if new='' then signal next2
  121. stat.num=new
  122. call next2
  123.  
  124. next3:
  125. tt 'f1cbFILE OF:cc' ans
  126. tt 'n1c9NOTE: Altering the grade average for skills will have SOME effect in the'
  127. tt 'game but most have effects on stats at the time they are acquired!!'
  128. tt 'n1cb48. caAssault     :cf' left(stat.48' ',4) 'cb%          cb54. caMedical     :cf' left(stat.54' ',4) 'cb%'
  129. tt 'cb49. caMountaineer :cf' left(stat.49' ',4) 'cb%          cb55. caReligion    :cf' left(stat.55' ',4) 'cb%'
  130. tt 'cb50. caComputers   :cf' left(stat.50' ',4) 'cb%          cb56. caRace Study  :cf' left(stat.56' ',4) 'cb%'
  131. tt 'cb51. caHistorian   :cf' left(stat.51' ',4) 'cb%          cb57. caDefense     :cf' left(stat.57' ',4) 'cb%'
  132. tt 'cb52. caSalesman    :cf' left(stat.52' ',4) 'cb%          cb58. caDisguise    :cf' left(stat.58' ',4) 'cb%'
  133. tt 'cb53. caGovernment  :cf' left(stat.53' ',4) 'cb%          cb59. caGambling    :cf' left(stat.59' ',4) 'cb%'
  134. query 'n1ceINPUT THE NUMBER YOU WISH TO CHANGE OR c9Nce FOR CBNEXT PAGEcd>>> '
  135. num=upper(result)
  136. if num=p then exit
  137. if num='N' then signal next4
  138. if num='Q' then exit
  139. if num<48 | num>59 then signal next3
  140. query 'n1caWhat do you wish to changecf' stat.num'ca to?c9 '
  141. new=upper(result)
  142. if new=p then exit
  143. if new='' then signal next3
  144. stat.num=new
  145. call next3
  146.  
  147. next4:
  148. tt 'f1cbFILE OF:cc' ans
  149. tt 'n1c9CHANGING MAP#s AS WELL AS X & Y COULD PUT THE CHARACTER IN A WALL! BEWARE!!'
  150. tt ''
  151. tt 'cb60. caTotal Damage :cf' left(stat.60' ',4) 'cb72. caCast Spells? :cf' left(stat.72' ',4) 'cb84. caFull View Key:cf' left(stat.84' ',4)
  152. tt 'cb61. caREG Task Flag:cf' left(stat.61' ',4) 'cb73. caAccount #    :cf' left(stat.73' ',4) 'cb85. caForce Shield :cf' left(stat.85' ',4)
  153. tt 'cb62. caWeapon Damage:cf' left(stat.62' ',4) 'cb74. caMars Key     :cf' left(stat.74' ',4) 'cb86. caArmor Taken? :cf' left(stat.86' ',4)
  154. tt 'cb63. caStrength Dam :cf' left(stat.63' ',4) 'cb75. caMercery Key  :cf' left(stat.75' ',4) 'cb87. caTeleport Belt:cf' left(stat.87' ',4)
  155. tt 'cb64. caNext Level xp:cf' left(stat.64' ',4) 'cb76. caApollo Key   :cf' left(stat.76' ',4) 'cb88. caVault Money? :cf' left(stat.88' ',4)
  156. tt 'cb65. caPlayer Fights:cf' left(stat.65' ',4) 'cb77. caChrome Key   :cf' left(stat.77' ',4) 'cb89. caStrength Set?:cf' left(stat.89' ',4)
  157. tt 'cb66. caMaximum of#65:cf' left(stat.66' ',4) 'cb78. caZone Key     :cf' left(stat.78' ',4) 'cb90. caSteelDoor Key:cf' left(stat.90' ',4)
  158. tt 'cb67. caTurns        :cf' left(stat.67' ',4) 'cb79. caBonus HP/Levl:cf' left(stat.79' ',4) 'cb91. caMagic Bonus  :cf' left(stat.91' ',4)
  159. tt 'cb68. caMaximum Turns:cf' left(stat.68' ',4) 'cb80. caTransportPass:cf' left(stat.80' ',4) 'cb92. caBlack Market?:cf' left(stat.92' ',4)
  160. tt 'cb69. caMap Location#:cf' left(stat.69' ',4) 'cb81. caUsed Pod?    :cf' left(stat.81' ',4) 'cb93. caIn City #    :cf' left(stat.93' ',4)
  161. tt 'cb70. caX Location # :cf' left(stat.70' ',4) 'cb82. caInfo Helmet  :cf' left(stat.82' ',4) 'cb94. caVisited City1:cf' left(stat.94' ',4)
  162. tt 'cb71. caY Location # :cf' left(stat.71' ',4) 'cb83. caRad Suit     :cf' left(stat.83' ',4) 'cb95. caVisited City2:cf' left(stat.95' ',4)
  163. query 'n1ceINPUT THE NUMBER YOU WISH TO CHANGE OR c9Dce FOR CBDONEcd>>> '
  164. num=upper(result)
  165. if num=p then exit
  166. if num='D' then signal savestats1
  167. if num='Q' then exit
  168. if num<60 | num>95 then signal next4
  169. query 'n1caWhat do you wish to changecf' stat.num'ca to?c9 '
  170. new=upper(result)
  171. if new=p then exit
  172. if new='' then signal next4
  173. stat.num=new
  174. call next4
  175.  
  176. savestats1:
  177. tt 'n1caSome items were left from the list intentionally because if'
  178. tt 'used they might cause endless loopsw3'
  179. signal savestats
  180.  
  181. savestats:
  182. call open(1,path||ans,'w')
  183. do i=1 to 110
  184.  call writeln(1,stat.i)
  185. end
  186. call close(1)
  187. call begin
  188.  
  189. error:
  190. syntax:
  191. call close(1)
  192. call close(2)
  193. call close(3)
  194. tt 'c7Error at line 'sigl' in ???'
  195. tt sourceline(sigl)
  196. exit
  197.  
  198.